package net.yla.smartbus.module.ba.equipment.serice;

import net.yla.smartbus.core.base.PageBean;
import net.yla.smartbus.module.ba.equipment.dto.DeviceDto;
import net.yla.smartbus.module.ba.equipment.form.DeviceForm;
import net.yla.smartbus.module.ba.equipment.query.DeviceQuery;
import net.yla.smartbus.module.ba.vehicle.common.ExcelData;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.util.List;

/**
 * @author 默苍离
 * @date 2021/6/22 9:54
 * <p>
 * ******************************************
 * @annotation:
 */
public interface DeviceService {


    /**
     * 根据查询条件获取 所有 设备信息
     *
     * @param query
     * @return
     */
    List<DeviceDto> getList(DeviceQuery query);


    /**
     * 分页查询
     *
     * @param query
     * @return
     */
    PageBean<DeviceDto> getListByPage(DeviceQuery query);


    /**
     * 导出设备
     *
     * @param query
     * @return
     */
    ExcelData exportDevice(DeviceQuery query);


    /**
     * 导入设备
     *
     * @param file
     * @return
     * @throws IOException
     */
    Integer insertByImport(MultipartFile file) throws IOException;


    /**
     * 添加设备
     *
     * @param form
     * @return
     */
    Integer insert(DeviceForm form);


    /**
     * 根据 设备id 查询 一台 设备信息
     *
     * @param deviceId
     * @return
     */
    DeviceDto getOneById(Integer deviceId);


    /**
     * 更新设备
     *
     * @param form
     * @return
     */
    Integer update(DeviceForm form);

}
